#include<stdio.h>

typedef  struct 
{
   int a;
   float b;
}ListData;

typedef struct LinkedNode
{
   struct LinkedNode* prior;
   struct LinkedNode* next;
   ListData data;
}LinkedNode;


//-------
//fuction about data
//-------
void Init(ListData* data);
int Judge(ListData* data,ListData* comData);
void DataCopy(ListData* des,ListData* res);
void show(ListData* data);


//-------
//fuction about list
//-------

LinkedNode* InitLinkedList();       //init list
int Ifempty(LinkedNode* list);
void DestroyList(LinkedNode* list);      //destroy list
void ClearList(LinkedNode* list);
int GetLength(LinkedNode* list);
ListData* GetElem(LinkedNode* list,int location);
ListData GetElemCpy(LinkedNode* list,int location);
int FindElem(LinkedNode* list,ListData* elem);  //return the location number in list.you can replace it by iterator in future
void Insert(LinkedNode* list,ListData* elem,int location);
void Delet(LinkedNode* list,int location);
void PushBack(LinkedNode* list,ListData* elem);
void PushFront(LinkedNode* list,ListData* elem);
void ShowData(LinkedNode* list);
